// 英雄集合
import { mongoose, prop, Ref } from '@typegoose/typegoose';
import { Equip } from './equip.model';

export class Hero {
  @prop()
  name: string;
  @prop()
  title: string;    // 称号
  @prop()
  position: []; // 职位
  @prop()
  icon: string;
  @prop()
  img: string;  // 展示图
  @prop()
  skill: [{
    sname: string;
    scontent: string;
    sicon: string;     // 图标
    sconsume: string;  // 消耗
    scooling: string;  // 冷却cd
  }];
  @prop()
  cover: {
    difficulty: Number;  // 难度
    cskill: Number;      // 技能
    attack: Number;      // 攻击
    existence: Number;   // 生存
  };
  @prop({ref: () => Equip})
  equip1?: [Ref<Equip>];      // 顺风出装
  @prop({ref: () => Equip})
  equip2?: [Ref<Equip>];      // 逆风出装
  @prop()
  usageTips: string;    // 使用技巧
  @prop()
  battleTips: string;   // 对抗技巧
  @prop()
  teamTips: string;     // 团战思路
  @prop()
  parteners: [{         // 搭档英雄
    hero: { type: mongoose.Schema.Types.ObjectId, ref: 'Hero' };
    description: string;
  }];
  @prop()
  beRestrained: [{      // 被谁克制
    hero: { type: mongoose.Schema.Types.ObjectId, ref: 'Hero' };
    description: string;
  }];  
  @prop()
  restrainWho: [{      // 克制英雄
    hero: { type: mongoose.Schema.Types.ObjectId, ref: 'Hero' };
    description: string;
  }]   
}
